package main

import "fmt"

// import "local/datastructure/queue"

type TreeNode struct {
	Val   int
	Left  *TreeNode
	Right *TreeNode
}

func main() {
}

func preOrder(root *TreeNode) {
	if root == nil {
		return
	}

	fmt.Print(root.Val)
	preOrder(root.Left)
	preOrder(root.Right)
}

func midOrder(root *TreeNode) {
	if root == nil {
		return
	}

	preOrder(root.Left)
	fmt.Print(root.Val)
	preOrder(root.Right)
}

func tailOrder(root *TreeNode) {
	if root == nil {
		return
	}

	tailOrder(root.Left)
	tailOrder(root.Right)
	fmt.Print(root.Val)
}

func levelOrder(root *TreeNode) {
}
